package com.robertux.leaderboard.beans.entities;

import java.io.Serializable;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.ManyToOne;
import javax.persistence.NamedQuery;
import javax.persistence.Table;


/**
 * The persistent class for the ASISTENCIA_USUARIO database table.
 * 
 */
@Entity
@Table(name="ASISTENCIA_USUARIO")
@NamedQuery(name="AsistenciaUsuario.findAll", query="SELECT a FROM AsistenciaUsuario a")
public class AsistenciaUsuario implements Serializable {
	private static final long serialVersionUID = 1L;

	@Id
	@GeneratedValue(strategy=GenerationType.IDENTITY)
	private int id;

	private int anio;

	@Column(name="DIAS_ASISTENCIA")
	private int diasAsistencia;

	private int mes;

	@Column(name="SUCURSAL_ASISTENCIA")
	private int sucursalAsistencia;

	@ManyToOne(fetch=FetchType.EAGER)
	private Usuario usuario;

	public AsistenciaUsuario() {
	}
	
	public AsistenciaUsuario(int anio, int mes, int diasAsistencia,
			int sucursalAsistencia, Usuario usuario) {
		super();
		this.anio = anio;
		this.mes = mes;
		this.diasAsistencia = diasAsistencia;
		this.sucursalAsistencia = sucursalAsistencia;
		this.usuario = usuario;
	}

	public int getId() {
		return this.id;
	}

	public void setId(int id) {
		this.id = id;
	}

	public int getAnio() {
		return this.anio;
	}

	public void setAnio(int anio) {
		this.anio = anio;
	}

	public int getDiasAsistencia() {
		return this.diasAsistencia;
	}

	public void setDiasAsistencia(int diasAsistencia) {
		this.diasAsistencia = diasAsistencia;
	}

	public int getMes() {
		return this.mes;
	}

	public void setMes(int mes) {
		this.mes = mes;
	}

	public int getSucursalAsistencia() {
		return this.sucursalAsistencia;
	}

	public void setSucursalAsistencia(int sucursalAsistencia) {
		this.sucursalAsistencia = sucursalAsistencia;
	}

	public Usuario getUsuario() {
		return this.usuario;
	}

	public void setUsuario(Usuario usuario) {
		this.usuario = usuario;
	}

	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result + id;
		return result;
	}

	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
		AsistenciaUsuario other = (AsistenciaUsuario) obj;
		if (id != other.id)
			return false;
		return true;
	}

	@Override
	public String toString() {
		return "AsistenciaUsuario [id=" + id + ", anio=" + anio + ", mes="
				+ mes + ", diasAsistencia=" + diasAsistencia
				+ ", sucursalAsistencia=" + sucursalAsistencia + ", usuario="
				+ usuario + "]";
	}

}